package edu.cibertec.tag;

import java.util.ArrayList;

import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.TagSupport;

import edu.cibertec.bean.BeanCombo;
import edu.cibertec.dao.ComboDAO;
import edu.cibertec.dao.DAOFactory;

public class ComboUsuarioTag extends TagSupport{
	
	String funcion;
	String seleccion;
	  
	  
	  
	  public String getSeleccion() {
	    return seleccion;
	  }

	  public void setSeleccion(String seleccion) {
	    this.seleccion = seleccion;
	  }

	  public String getFuncion() {
	    return funcion;
	  }

	  public void setFuncion(String funcion) {
	    this.funcion = funcion;
	  }




	  public int doStartTag() throws JspException {

	    // --- obteniendo los elementos del combo dinamico
	        DAOFactory fabrica=
	          DAOFactory.getDAOFactory(DAOFactory.MYSQL);
	        
	        ComboDAO combodao=fabrica.getComboDAO();
	        
	    
	        try {
	          
	          ArrayList<BeanCombo> elementos=
	                      combodao.obtenerUsuarios();

	          // --- obteniendo el elemento a seleccionar
	          String laseleccion = this.getSeleccion();
	          if(laseleccion==null)laseleccion="";
	          
	          // -- referenciando al jsp          
	          JspWriter salida=pageContext.getOut();
	          salida.println("<select name=usuario onchange=");
	          salida.println(this.getFuncion());
	          salida.println(" >");
	          
	          salida.println("<option value=0 > Seleccione un Usuario:");
	          
	          for(int i=0;i<elementos.size();i++){
	        	  
	              BeanCombo elemento=elementos.get(i);
	              
	              salida.print("<option value=");
	             
	              salida.print(elemento.getCodigo());
	              
	              if(elemento.getCodigo().equals(laseleccion))
	                salida.print(" selected > ");
	              else
	                salida.print(" > ");
	              
	              salida.println(elemento.getDescripcion());
	          }
	          salida.println("</select>");
	          

	          
	        } catch (Exception e) {
	          // TODO Auto-generated catch block
	          e.printStackTrace();
	        }
	        
	    
	    
	    
	    
	    return EVAL_BODY_INCLUDE;
	    
	  }

}
